#!/usr/bin/python
# -*-coding:UTF-8 -*-

# ========================
# @Time  : 2021/3/5
# @Author: Sunny
# ========================

"""
greenlet是对原生协程进行了封装的
在协程之间只能进行手动切换
"""

import greenlet
import time


def work1():
    for i in range(6):
        time.sleep(1)
        cor2.switch()
        print(f'浇花的第{i + 1}')


def work2():
    for i in range(5):
        time.sleep(1)
        cor1.switch()
        print(f'打墙的第{i + 1}')


# 类似创建一个协程对象
cor1 = greenlet.greenlet(work1)
cor2 = greenlet.greenlet(work2)

# cor1是一个greenlet对象
# print(cor1)

# 不加这行代码，不会执行，swicth表示切换到这个协程中去执行
cor1.switch()

# -------------这种方式也是同步执行的，非异步，所以一般也是不用的--------------------
